package com.hioove.core.model.base.config;

import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Map;

/**
 * 主要用于程序运行中的类的方法基本信息
 */
public class MethodSupport {
    // 类方法名称
    private String name;
    // 类方法形参的类型
    private List<Class<?>> paramTypes;
    // 类方法上的注解
    private List<Annotation> annotations;
    // 类的当前方法
    private Method method;
    // 类的全部信息详细看ClassSupport.class
    private ClassSupport classSupport;
    // 方法注解
    private Map<String,Annotation> parameterAnnotations;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Class<?>> getParamTypes() {
        return paramTypes;
    }

    public void setParamTypes(List<Class<?>> paramTypes) {
        this.paramTypes = paramTypes;
    }

    public List<Annotation> getAnnotations() {
        return annotations;
    }

    public void setAnnotations(List<Annotation> annotations) {
        this.annotations = annotations;
    }

    public Method getMethod() {
        return method;
    }

    public void setMethod(Method method) {
        this.method = method;
    }

    public ClassSupport getClassSupport() {
        return classSupport;
    }

    public void setClassSupport(ClassSupport classSupport) {
        this.classSupport = classSupport;
    }

    public Map<String,Annotation> getParameterAnnotations() {
        return parameterAnnotations;
    }

    public void setParameterAnnotations(Map<String,Annotation> parameterAnnotations) {
        this.parameterAnnotations = parameterAnnotations;
    }
}
